package cn.knightzz.service;

import cn.knightzz.entity.SysEvent;
import cn.knightzz.vo.EventCountVO;
import cn.knightzz.vo.PutEventVO;
import cn.knightzz.vo.UpdateEventVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.xml.soap.SAAJMetaFactory;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author knightzz
 * @since 2021-05-01
 */
public interface SysEventService extends IService<SysEvent> {

    void addEvent(PutEventVO eventVO);

    IPage<SysEvent> selectEventPage(Long pageNum, Long pageSize, String query);

    Boolean updateEvent(UpdateEventVO eventVO);

    Boolean deleteEventInfo(Long id, String files);

    List<SysEvent> getEventInfosByUser(Long userId, String query, List<String> dates);

    List<SysEvent> getEventByStatus(Long userId, Integer status, String query);

    List<SysEvent> getEventByAuthorId(Long authorId);

    SysEvent getEventById(Long eventId);

    /**
     * 查询统计
     * @param pageNum
     * @param pageSize
     * @param query
     * @param userId
     * @return
     */
    IPage<EventCountVO> selectCountEvent(Long pageNum, Long pageSize, String query, Long userId);

}
